package com.pn.service;

import com.pn.entity.ProductType;
import com.pn.entity.Result;

import java.util.List;

public interface ProductTypeService {

    /**
     * 查询所有商品分类树
     *
     * @return 商品分类树
     */
    List<ProductType> productTypeTree();

    /**
     * 校验商品分类编码是否存在
     *
     * @param typeCode 商品分类编码
     * @return 响应结果
     */
    Result verifyTypeCodeOrName(String typeCode);

    /**
     * 添加商品分类
     *
     * @param productType 商品分类实体类
     * @return 响应结果
     */
    Result saveProductType(ProductType productType);

    /**
     * 删除商品分类以及子级分类
     *
     * @param typeId 商品分类id
     * @return 响应结果
     */
    Result removeProductTypeById(Integer typeId);

    /**
     * 修改商品分类
     *
     * @param productType 商品分类信息
     * @return 响应结果
     */
    Result setProductTypeById(ProductType productType);
}
